<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LINE 1 &quot;libraries\\Win32\\Graphics\\Win32\\Window\\PostMessage.hsc&quot; #-}</span><span>
</span><span id="line-1"></span><span class="hs-pragma">{-# LANGUAGE CPP #-}</span><span>
</span><span id="line-2"></span><span class="hs-comment">{- |
   Module      :  Graphics.Win32.Window.PostMessage
   Copyright   :  2013 shelarcy
   License     :  BSD-style

   Maintainer  :  shelarcy@gmail.com
   Stability   :  Provisional
   Portability :  Non-portable (Win32 API)

   Provide PostMessage function and friends.
-}</span><span>
</span><span id="line-13"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Graphics.Win32.Window.PostMessage</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-14"></span><span>
</span><span id="line-15"></span><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Foreign.C.Types</span><span> </span><span class="hs-special">(</span><span> </span><span class="hs-identifier">CIntPtr</span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-16"></span><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Graphics.Win32.GDI.Types</span><span> </span><span class="hs-special">(</span><span> </span><span class="hs-identifier">HWND</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">MbHWND</span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-17"></span><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">Graphics.Win32.Message</span><span>   </span><span class="hs-special">(</span><span> </span><span class="hs-identifier">WindowMessage</span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-18"></span><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">System.Win32.Types</span><span>       </span><span class="hs-special">(</span><span> </span><span class="hs-identifier">DWORD</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">WPARAM</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">LPARAM</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">BOOL</span><span>
</span><span id="line-19"></span><span>                                </span><span class="hs-special">,</span><span> </span><span class="hs-identifier">maybePtr</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">castUINTPtrToPtr</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">failIfFalse_</span><span> </span><span class="hs-special">)</span><span class="hs-cpp">


#include &quot;windows_cconv.h&quot;
</span><span>
</span><span id="line-24"></span><span class="hs-identifier">postMessage</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier">MbHWND</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">WindowMessage</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">WPARAM</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">LPARAM</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">IO</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-25"></span><span class="hs-identifier">postMessage</span><span> </span><span class="hs-identifier">mb_wnd</span><span> </span><span class="hs-identifier">msg</span><span> </span><span class="hs-identifier">w</span><span> </span><span class="hs-identifier">l</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-26"></span><span>  </span><span class="hs-identifier">failIfFalse_</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">unwords</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;PostMessage&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">show</span><span> </span><span class="hs-identifier">mb_wnd</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">show</span><span> </span><span class="hs-identifier">msg</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">show</span><span> </span><span class="hs-identifier">w</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">show</span><span> </span><span class="hs-identifier">l</span><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="hs-operator">$</span><span>
</span><span id="line-27"></span><span>    </span><span class="hs-identifier">c_PostMessage</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">maybePtr</span><span> </span><span class="hs-identifier">mb_wnd</span><span class="hs-special">)</span><span> </span><span class="hs-identifier">msg</span><span> </span><span class="hs-identifier">w</span><span> </span><span class="hs-identifier">l</span><span>
</span><span id="line-28"></span><span>
</span><span id="line-29"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">WINDOWS_CCONV</span><span> </span><span class="hs-string">&quot;windows.h PostMessageW&quot;</span><span>
</span><span id="line-30"></span><span>  </span><span class="hs-identifier">c_PostMessage</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier">HWND</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">WindowMessage</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">WPARAM</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">LPARAM</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">IO</span><span> </span><span class="hs-identifier">BOOL</span><span>
</span><span id="line-31"></span><span>
</span><span id="line-32"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">WINDOWS_CCONV</span><span> </span><span class="hs-string">&quot;windows.h PostQuitMessage&quot;</span><span>
</span><span id="line-33"></span><span>  </span><span class="hs-identifier">postQuitMessage</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier">Int</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">IO</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-34"></span><span>
</span><span id="line-35"></span><span class="hs-identifier">postThreadMessage</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier">DWORD</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">WindowMessage</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">WPARAM</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">LPARAM</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">IO</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-36"></span><span class="hs-identifier">postThreadMessage</span><span> </span><span class="hs-identifier">tId</span><span> </span><span class="hs-identifier">msg</span><span> </span><span class="hs-identifier">w</span><span> </span><span class="hs-identifier">l</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-37"></span><span>  </span><span class="hs-identifier">failIfFalse_</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">unwords</span><span> </span><span class="hs-special">[</span><span class="hs-string">&quot;PostThreadMessage&quot;</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">show</span><span> </span><span class="hs-identifier">tId</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">show</span><span> </span><span class="hs-identifier">msg</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">show</span><span> </span><span class="hs-identifier">w</span><span class="hs-special">,</span><span> </span><span class="hs-identifier">show</span><span> </span><span class="hs-identifier">l</span><span class="hs-special">]</span><span class="hs-special">)</span><span> </span><span class="hs-operator">$</span><span>
</span><span id="line-38"></span><span>    </span><span class="hs-identifier">c_PostThreadMessage</span><span> </span><span class="hs-identifier">tId</span><span> </span><span class="hs-identifier">msg</span><span> </span><span class="hs-identifier">w</span><span> </span><span class="hs-identifier">l</span><span>
</span><span id="line-39"></span><span>
</span><span id="line-40"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">WINDOWS_CCONV</span><span> </span><span class="hs-string">&quot;windows.h PostThreadMessageW&quot;</span><span>
</span><span id="line-41"></span><span>  </span><span class="hs-identifier">c_PostThreadMessage</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier">DWORD</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">WindowMessage</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">WPARAM</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">LPARAM</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-identifier">IO</span><span> </span><span class="hs-identifier">BOOL</span><span>
</span><span id="line-42"></span><span>
</span><span id="line-43"></span><span class="hs-identifier">hWND_BROADCAST</span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier">HWND</span><span>
</span><span id="line-44"></span><span class="hs-identifier">hWND_BROADCAST</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-identifier">castUINTPtrToPtr</span><span> </span><span class="hs-number">65535</span><span>
</span><span id="line-45"></span><span>
</span><span id="line-46"></span><span class="hs-pragma">{-# LINE 46 &quot;libraries\\Win32\\Graphics\\Win32\\Window\\PostMessage.hsc&quot; #-}</span><span>
</span><span id="line-46"></span><span>
</span><span id="line-47"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="hs-identifier">WINDOWS_CCONV</span><span> </span><span class="hs-string">&quot;windows.h InSendMessage&quot;</span><span>
</span><span id="line-48"></span><span>  </span><span class="hs-identifier">inSendMessage</span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-identifier">IO</span><span> </span><span class="hs-identifier">Bool</span><span>
</span><span id="line-49"></span></pre></body></html>